1. Field of the Invention
The present invention relates to a system, method, and computer program product for designing connecting terminals of a semiconductor device, and particularly, to a pin assign process carried out before an automatic chip arranging/wiring process and a detailed package designing process in a semiconductor design flow.
2. Description of Related Art
FIG. 1 shows a quad flat package (QFP) according to a related art. The package includes package pins 93 arranged along the periphery of the package and inner lead pins 95 arranged inside the package and connected to a semiconductor chip 81. The pins 93 and 95 linearly run on the periphery of the package, and therefore, correspondences between the pins 93 and 95 are clear. The semiconductor chip 81 has bonding pads 87 that are linearly arranged on the periphery of the chip 81, and therefore, correspondences between the bonding pads 87 and the inner lead pins 95 of the package are clear. Namely, the positions of the bonding pads 87 relative to those of the inner lead pins 95 are sequential. Also, correspondences between the bonding pads 87 and I/O slots 83 formed in the semiconductor chip 81 are clear, and the positions of the bonding pads 87 relative to those of the I/O slots 83 are sequential.
When signals such as SIG1 to SIG40, VDD, and VSS are assigned to the package pins 93, assignment of these signals to the inner lead pins 95 and bonding pads 87 is automatically determined. Namely, a connecting net from the package pins 93 to the bonding pads 87 is determined automatically. In addition, specific I/O slots 83 for which I/O buffers are provided and a connecting net between the bonding pads 87 and the I/O slots 83 are also determined automatically. Special cells such as differential buffer cells that must be assigned to adjacent I/O slots 83 may be assigned to adjacent package pins 93 during a package pin arranging stage, and then, the differential buffer cells are automatically arranged at adjacent I/O slots 83. The pin assignment or the assignment of connecting terminals mentioned above for the QFP is also applicable to, for example, a ball grid array (BGA) involving single-layer pin connections.
There are BGAs involving multilayer pin connections. Packages such as the multilayer-pin-connection BGAs (hereinafter referred to simply as the BGAs) and flip-chip packages are capable of coping with recent high-density, multiple-pin semiconductor devices. When designing connecting terminals, however, these packages have some technical problems due to the structures thereof being different from those of the QFPs.
The BGA has external electrodes (ball electrodes) formed in a grid on a principal surface of a package base. The external electrodes of the BGA correspond to the package pins 93 of the QFP. The flip-chip package has bumps (protruding electrodes) formed in a grid on a principal surface of a semiconductor chip, so that the chip may be packaged on a package base through the bumps. In the BGA or the flip-chip package, correspondences between the external electrodes on the package base and the bumps on the chip and correspondences between the bumps on the chip and I/O slots in the chip are not clear. In addition, the positions of the bumps relative to those of the external electrodes and the positions of the I/O slots relative to those of the bumps are not sequential.
Accordingly, assigning signals to the external electrodes does not automatically determine assignment of these signals to the bumps and I/O slots. As a result, the assignment of signals to the external electrodes, and pin assignment of the bumps and I/O slots must be manually carried out.
Generally, a connecting net from bumps on a semiconductor chip to external terminals of a package base is radially made in an initial design stage. When signals for differential buffers are assigned to adjacent external electrodes of the radial connecting net in the BGA, it is not always the case that these signals are assigned to adjacent bumps. Further, there is a high probability of differential buffer cells not being arranged at adjacent I/O slots. Design requirements concerning, for example, equal-length wires and pair wires needed by cell specifications are insufficiently satisfied in the BGA. To solve these problems, one may change the assignment of signals to the external terminals, bumps, and I/O slots. This, however, results in increasing the number of wiring intersections in each connecting net, thus making detailed wiring designing difficult.